草庐IT

Android sdkmanager 可用包

全部标签

c++ - 如何在 cmake 中检查给定的头文件是否可用于 C++ 项目

我正在使用cmake来管理我的项目的编译,这是我第一次使用cmake。这个工具非常方便,因为有大量的脚本和函数可以检查给定计算机上是否安装了所有必需的库。然而,有时,这些通用脚本不涵盖某些特定情况,或者它们对于给定的库根本不可用。那么我的问题如下:验证给定头文件(hpp或h)在包含路径中是否可用的正确cmake样式方法是什么?理由:最直接的方法可能是使用CHECK_INCLUDE_FILE宏。例如,如果我想使用UnitTest++库,我可以这样写CHECK_INCLUDE_FILE_CXX("UnitTest++.h"HAVE_UNITTESTXX)IF(NOTHAVE_UNITTES

c++ - 具有 200GB 可用内存的 Bad Alloc c++

我是C++的新手,我正在研究“压缩传感”,所以我需要处理巨大的矩阵,而MATLAB实际上很慢,所以我用C++编写了我的算法。问题是我存储了大数组(大约100Mb-1Gb)。它们大约是20个阵列。它适用于30Gb的内存,但是当进程需要超过40Gb时它就会停止。我认为这是一个内存问题,我在Linux和Windows(64位操作系统-64位编译器MinGW-200GbRam-intelXeon)上测试过它有什么限制吗?size_ttm=n*m*l;double*x=newdouble[tm];我使用了大约20个这样的数组。n,m~=1000和L~=30这些是典型的尺寸。谢谢

c++ - 通知另一个线程数据可用的最快方法是什么?除了纺纱还有其他选择吗?

我的一个线程将数据写入循环缓冲区,另一个线程需要尽快处理这些数据。我想写这么简单的spin。伪代码!while(true){while(!a[i]){/*donothing-justkeepcheckingoverandover*/}//processb[i]i++;if(i>=MAX_LENGTH){i=0;}}上面我使用a来指示存储在b中的数据可供处理。Probaly我还应该为这种“热”进程设置线程亲和性。当然,就CPU而言,这种自旋非常昂贵,但对我来说没问题,因为我的主要要求是延迟。问题是——我真的应该写这样的东西,或者boost或STL允许这样的东西:更易于使用。具有大致相同(

c++ - C++11 特性的可用性

编译器供应商一直在逐步采用C++11功能,这是可以预见的,因为其中许多功能不容易实现。报告编译器完全支持的规范的标准方法是通过__cplusplus预定义宏。但是,主要供应商报告__cplusplus=199711L,这意味着他们仅完全支持C++98(例如MSVC14)。这(大概)意味着他们不完全支持C++11规范,即使他们可能已经实现了大部分功能。我想在C++11功能可用时开始使用它们(并在它们不可用时回退到现有代码)。但是,我的代码必须支持许多编译器,包括我可能无权使用的专有编译器。是否有任何标准方法可以在不知Prop体使用哪个编译器的情况下知道编译器提供哪些C++11功能?(如果

c++ - 是否有 C++ 或 Qt 库可用于测量应用程序的功能使用情况

我希望能够衡量我们应用程序中正在使用的功能。例如,某些窗口打开了多少,某些控件被单击了多少。我可以想象一个工具可以测量它并将报告发送到Web服务器,该服务器可以进一步处理它以从中创建有意义的数据 最佳答案 第一个问题:你应该这样做吗?人们不喜欢他们的软件在未经他们同意的情况下打电话回家。但假设他们对此表示满意:这在技术上是可行的,有两种方法:自动或手动。当然,鉴于你的问题,我假设你正在使用Qt。自动:为所有你想追踪的QObject取一个合适的名字在您的应用程序上安装事件过滤器以捕获所有ChildEvent关于创建和销毁的对象。来自C

c++ - CMake - 如何使库的私有(private) header 可用于其测试?

因此,我正在将一个项目的一部分制作成一个库,其中一些header是库的接口(interface),其余部分是库本身私有(private)的。所以对于我的图书馆来说,CMAKE部分看起来像:add_library(${PROJECT_NAME}${PROJECT_SOURCES}"${PROJECT_BINARY_DIR}/libversion.h")add_library(my::libALIAS${PROJECT_NAME})target_include_directories(${PROJECT_NAME}PRIVATE${Boost_INCLUDE_DIRS}PRIVATE${P

c++ - 获取可用的最大类型

如何在我的编译器中获取最大可用类型的名称?有可能吗?像这样的东西:autolargest=get_largest_type();在我的例子中,auto将是longlong。 最佳答案 好吧,取决于你有多需要这个,你可以在这里尝试一些严肃的元编程......首先,您显然需要某种定义所有可用原始类型的“包”,因此它是:templateclasspack{};typedefpackprimitive_types;然后您将需要一种根据大小对这些类型进行排序的方法,因此首先,让我们定义一个能够对大小实现严格弱排序的元函数:templatecl

java - Solaris 上 Java/C++ 的高可用性和可扩展平台

我有一个在Solaris上混合使用Java和C++的应用程序。代码的Java方面运行WebUI并在我们正在与之交谈的设备上建立状态,C++代码对从设备返回的数据进行实时处理。共享内存用于将设备状态和上下文信息从Java代码传递到C++代码。Java代码使用PostgreSQL数据库来保存其状态。我们遇到了一些相当严重的性能瓶颈,现在我们可以扩展的唯一方法是增加内存和CPU数量。由于共享内存设计,我们被困在一个物理盒子上。这里真正大的打击是C++代码。Web界面很少用于配置设备;我们真正困难的地方在于处理设备在配置后传输的数据量。我们从设备返回的每条数据都有一个标识符,它指向设备上下文,

c++ - 异步等待直到套接字可用于在 Asio 中读/写

我想用BoostAsio做以下事情。我有一个套接字,我想注册一个回调,当数据可用于在套接字上读/写时调用,但我不希望它实际进行读/写。基本上,我需要的和async_read_some/async_write_some类似,只是没有做真正的读写。我需要这个,因为我正在使用一个外部库,它有自己的读写函数,需要套接字描述符作为输入参数,我想以异步方式使用这个库。 最佳答案 您正在寻找react器式操作。这些可以通过提供boost::asio::null_buffers获得。到异步操作。Reactor风格的操作可用于与第三方库集成、使用共享

c++ - 检查类是否派生自特定类(编译、运行时均可用)

这样在例子上更容易解释,classbase{//....}classderived1:publicbase{//...}在我的库中,有一个基类的指针。库的用户必须创建从base或derived1派生的类,并将指针分配给该类。如何检查用户定义的类派生自哪个类? 最佳答案 我对提议的编译时x运行时解决方案有一些评论。除了评估它们的时间之外,is_base_of和dynamic_cast有不同的要求,他们的答案可能不同。(1)首先(正如其他人所指出的)使用dynamic_cast、基类和派生类必须是多态的(必须至少有一个virtual方法